﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using SMS.Entities.Admin;
using SMS.Entities;

namespace SMS.Web.Service
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IAuthenticationService" in both code and config file together.
    [ServiceContract]
    public interface IAuthenticationService
    {
        [OperationContract]
        ApplicationUser AuthenticateUser(string userName, string password, bool isLoggedIn, out SMSException serviceError);

        [OperationContract]
        int ResetPassword(string username, string currentPassword, string newPassword, out SMSException serverError);

        [OperationContract]
        ApplicationUser SaveNewUser(string username, ApplicationUser applicationUserObject, out SMSException serverError);

        [OperationContract]
        List<ApplicationUser> GetApplicationUserList(string UserName, string SearchText,out SMSException serverError);

        [OperationContract]
        int AdminResetPassword(string username, string newPassword, out SMSException serverError);

        [OperationContract]
        SMS.Entities.Master.Branch GetBranchDetail(int branch_ID, out SMSException serverError);

        [OperationContract]
        int UploadProfileImage(string username, string url, out SMSException serverError);
    }
}
